Skip Headers

Oracle® Transparent Gateway for Ingres II Administrator's Guide 10g Release 2 (10.2) for Solaris Operating System (SPARC) Part Number B14278-01 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# 4 Case Studies

The following case studies for Ingres II demonstrate some of the features of the Oracle Transparent Gateway. You can verify that the gateway is installed and operating correctly by using the demonstration files included on the distribution CD-ROM.

The demonstration files are automatically copied to disk when the gateway is installed.

This chapter contains the following sections:

- Case Descriptions

- CD-ROM Contents

- Demonstration Files

- Demonstration Requirements

- Creating Demonstration Tables

- Case 1: Simple Queries

- Case 2: A More Complex Query

- Case 3: Joining Ingres II Tables

- Case 4: Write Capabilities

- Case 5: Data Dictionary Query

- Case 6: The Pass-Through Feature

## 4.1 Case Descriptions

The cases illustrate:

- A simple query (Case 1)

- A more complex query (Case 2)

- Joining Ingres II tables (Case 3)

- Write capabilities (Case 4)

- A data dictionary query (Case 5)

- The pass-through feature (Case 6)

## 4.2 CD-ROM Contents

The distribution CD-ROM contains the following:

- Demonstration files

- One SQL script file that creates the demonstration tables in the Ingres II database

- One SQL script file that drops the demonstration tables from the Ingres II database

## 4.3 Demonstration Files

After a successful gateway installation, use the demonstration files stored in the directory `$ORACLE_HOME/tg4ingr/demo` where $ORACLE_HOME is the directory under which the gateway is installed. The directory contains the following demonstration files:

Demonstration Files | Demonstration Files
--- | ---
bldingr.sql | case4c.sql
case1.sql | case5.sql
case2.sql | case6a.sql
case3.sql | case6b.sql
case4a.sql | dropingr.sql
case4b.sql | -

## 4.4 Demonstration Requirements

The case studies assume these requirements have been met:

- The gateway demonstration tables are installed in the Ingres II database.

- The Oracle server has an account named SCOTT with a password of TIGER.

- The Oracle server has a database link called GTWLINK (set up as public or private to the user SCOTT) which connects the gateway to a Ingres II database as SCOTT with password TIGER2.

  For example, you can create the database link as follows:

      SQL> CREATE DATABASE LINK GTWLINK CONNECT TO SCOTT  2    IDENTIFIED BY TIGER2 USING 'gtw_connect_descriptor';

- Oracle Net Services is configured correctly and running.

- The Ingres II environment variable, II_SYSTEM, is set correctly.

## 4.5 Creating Demonstration Tables

The case studies are based on the GTW_EMP, GTW_DEPT, and GTW_SALGRADE tables. If the demonstration tables have not been created in the Ingres II database, use the `bldingr.sql` script to create them. Enter the following:

    $ bldingr.sql

The script creates the demonstration tables in the Ingres II database accordingly:

    CREATE TABLE GTW_EMP (EMPNO      INTEGER2 NOT NULL ENAME      VARCHAR(10),JOB        VARCHAR(9),MGR        INTEGER2,HIREDATE   DATE,SAL        FLOAT4,COMM       FLOAT8,DEPTNO     INTEGER2)
    CREATE TABLE GTW_DEPT (DEPTNO     INTEGER1 NOT NULL,DNAME      VARCHAR(14),LOC        VARCHAR(13))
    CREATE TABLE GTW_SALGRADE (GRADE      INTEGER1,LOSAL      NFLOAT4,HISAL      FLOAT4)

### 4.5.1 Demonstration Table Definitions

The following table definitions are provided using information retrieved by the SQL*PLUS DESCRIBE command:

GTW_EMP

    Name                            Null?    Type------------------------------- -------- ----EMPNO                           NOT NULL NUMBER(3)ENAME                                    VARCHAR2(10)JOB                                      VARCHAR2(9)MGR                                      NUMBER(5)HIREDATE                                 DATESAL                                      NUMBER(7,2)COMM                                     NUMBER(7,2)DEPTNO                                   NUMBER(5)

GTW_DEPT

    Name                            Null?    Type------------------------------- -------- ----DEPTNO                          NOT NULL NUMBER(5)DNAME                                    VARCHAR2(14)LOC                                      VARCHAR2(13)

GTW_SALGRADE

    Name                            Null?    Type------------------------------- -------- ----GRADE                                    NUMBER(3)LOSAL                                    NUMBER(9,4)HISAL                                    NUMBER(9,4)

### 4.5.2 Demonstration Table Contents

The contents of the Ingres II tables are:

GTW_EMP

    EMPNO ENAME   JOB         MGR   HIREDATE   SAL   COMM   DEPTNO----- -----   ---         ---   --------   ---   ----   ------7369  SMITH   CLERK       7902  17-DEC-80   800             207499  ALLEN   SALESMAN    7698  20-FEB-81  1600   300       307521  WARD    SALESMAN    7698  22-FEB-81  1250   500       307566  JONES   MANAGER     7839  02-APR-81  2975             207654  MARTIN  SALESMAN    7698  28-SEP-81  1250  1400       307698  BLAKE   MANAGER     7839  01-MAY-81  2850             307782  CLARK   MANAGER     7839  09-JUN-81  2450             107788  SCOTT   ANALYST     7566  09-DEC-82  3000             207839  KING    PRESIDENT         17-NOV-81  5000             107844  TURNER  SALESMAN    7698  08-SEP-81  1500     0       307876  ADAMS   CLERK       7788  12-JAN-83  1100             207900  JAMES   CLERK       7698  03-DEC-81   950             307902  FORD    ANALYST     7566  03-DEC-81  3000             207934  MILLER  CLERK       7782  23-JAN-82  1300             10

GTW_DEPT

    DEPTNO DNAME          LOC ----- -------------- --------   10 ACCOUNTING     NEW YORK   20 RESEARCH       DALLAS   30 SALES          CHICAGO   40 OPERATIONS     BOSTON

GTW_SALGRADE

    GRADE      LOSAL      HISAL------     ------     -----    1        700      1200    2       1201      1400    3       1401      2000    4       2001      3000    5       3001      9999

## 4.6 Case 1: Simple Queries

Case 1 demonstrates the following:

- A simple query

- A simple query retrieving full date information

The first query retrieves all the data from GTW_DEPT and confirms that the gateway is working correctly. The second query retrieves all the data from GTW_EMP including the time portion of the hire date because the default date format was set to DD-MON-YY HH24:MM:SS for the session by an ALTER SESSION command.

## 4.7 Case 2: A More Complex Query

Case 2 demonstrates the following:

- The functions SUM(expression) and NVL(expr1, expr2) in the SELECT list

- The GROUP BY and HAVING clauses

This query retrieves the departments from GTW_EMP whose total monthly expenses are higher than $10,000.

## 4.8 Case 3: Joining Ingres II Tables

Case 3 demonstrates the following:

- Joins between Ingres II tables

- Subselects

The query retrieves information from three Ingres II tables and relates the employees to their department name and salary grade, but only for those employees earning more than the average salary.

## 4.9 Case 4: Write Capabilities

Case 4 is split into three cases and demonstrates the following:

- DELETE Statement

- UPDATE Statement

- INSERT Statement

### 4.9.1 DELETE Statement

Case 4a demonstrates bind values and subselect. All employees in department 20 and one employee, WARD, in department 30 are deleted.

### 4.9.2 UPDATE Statement

Case 4b provides an example of a simple UPDATE statement. In this example, employees are given a $100 a month salary increase.

### 4.9.3 INSERT Statement

Case 4c is an example of a simple insert statement that does not provide information for all columns.

## 4.10 Case 5: Data Dictionary Query

Case 5 demonstrates data dictionary mapping. It retrieves all the tables and views that exist in the Ingres II database that begin with "GTW".

## 4.11 Case 6: The Pass-Through Feature

Case 6 demonstrates the gateway pass-through feature which allows an application to send commands or statements to Ingres II.

This case demonstrates:

- A pass-through UPDATE statement using bind variables.

- A pass-through SELECT statement.

### 4.11.1 UPDATE Statement

Case 6a provides an example of a pass-through UPDATE statement with bind variables. In this example, the salary for EMPNO 7934 is set to 4000.

### 4.11.2 SELECT Statement

Case 6b provides an example of a pass-through SELECT statement. The data that is returned from the SELECT statement is inserted into a local table at the Oracle database server.